package com.cyf.wechat.service;

import com.cyf.app.network.bean.AppBusinessReq;
import com.cyf.app.network.bean.car.AppAdCarReq;
import com.cyf.wechat.network.bean.*;

public interface WechatApiService {



    /**
     * 公众号登录
     *
     * @param loginAppReq
     * @return
     */
    WechatRegRsp login(LoginAppReq loginAppReq);


    /**
     * 添加车辆信息
     * @param req
     * @return
     */
    WechatRegRsp addCar(AppAdCarReq req);

    /**
     * 编辑车辆信息
     * @param req
     * @return
     */
    WechatRegRsp editCar(AppAdCarReq req);

    /**
     * 获取用户车辆列表
     * @param req
     * @return
     */
    WechatRegRsp findCarList(AppBusinessReq req);

    /**
     *  删除车辆信息
     * @param req
     * @return
     */
    WechatRegRsp deleteAppCar(AppCarReq req);

    /**
     * 根据id获取
     * @param id
     * @param opendId
     * @return
     */
    WechatRegRsp findAppCarById(Integer id,String opendId);

    /**
     * 根据id获取
     * @param req
     * @return
     */
    WechatRegRsp findUserInfo(AppBusinessReq req);

    /**
     * 获取用户关联的车辆信息
     * @param openId
     * @return
     */
    WechatRegRsp findUserParkingInfo(String openId);

    /**
     * 根据车牌查询获取车辆缴费信息
     */
    WechatRegRsp findWechatGetFee(String openId,String plate);

    /**
     * 获取车主优惠券
     * @param plate
     * @param parkingId
     * @return
     */
    WechatRegRsp findUseCoupon(String opedId,String plate,Integer parkingId);

    /**
     * 优惠券转赠
     * @param ids
     * @param phone
     * @return
     */
    WechatRegRsp merchantTransfer(String ids, String phone);

    /**
     * 获取行车记录
     * @param req
     * @return
     */
    WechatRegRsp inOutParkingQuery(WechatInOutParkingReq req);

    /**
     * 获取停车记录（开票列表）
     * @param req
     * @return
     */
    WechatRegRsp findStopParkingRecord(InvoiceReq req);

    /**
     * 获取开票历史（开票列表）
     * @param req
     * @return
     */
    WechatRegRsp findInvoiceHistory(InvoiceReq req);

    /**
     * 获取历史开票信息（发票）
     * @param req
     * @return
     */
    WechatRegRsp findUserInvoiceHistory(AppBusinessReq req);

    /**
     * 删除公司信息
     * @param req
     * @return
     */
    WechatRegRsp deleteUserInvoice(AppBusinessReq req);

    /**
     * 月租延期获取车辆车场信息
     */
    WechatRegRsp recharge(WechatCarRechargeReq req);


    /**
     *
     * @param openId
     * @param phone
     * @param type
     * @return
     */
    WechatRegRsp findRoadPayOrderList(String openId,String phone,Integer type);


    /**
     * 合并路测支付订单
     * @param openId
     * @param orderNos
     * @return
     */
    WechatRegRsp roadPayOrderMerge(String openId,String orderNos);


    WechatRegRsp deletePiaotongInvoice(String phone, String openId, Integer id);
}
